package com.leo.java.interpreter;

/**
 *
 * @author xuexiaolei
 * @version 2018年01月06日
 */
public class LoopCommandNode extends Node {
    private int number;//循环次数
    private Node commandNode;//循环语句中的表达式
    //解释循环命令
    @Override public void interpret(Context context) {
        context.skipTOken("LOOP");
        number = context.currentNumber();
        context.nextToken();
        commandNode = new ExpressionNode();//循环语句中的表达式
        commandNode.interpret(context);
    }

    @Override public void execute() {
        for (int i = 0; i < number; i++) {
            commandNode.execute();
        }
    }
}
